﻿
using HiSportApplet.Core.Enum;
using SqlSugar;
using System.ComponentModel.DataAnnotations;

namespace HiSportApplet.Application.Service.Bas.BasSiteManagement.Dtos
{

    /// <summary>
    /// 预定场地信息
    /// </summary>
    public class ScheduledSiteDto
    {
        /// <summary>
        /// 场地类型
        /// </summary>
        public long SiteTypeId { get; set; }

        /// <summary>
        /// 预定时间
        /// </summary>
        public DateTime ScheduledTime { get; set; }

        /// <summary>
        /// 场地id
        /// </summary>
        public long SiteId { get; set; }

        public string SiteName { get; set; }

        public List<SiteInfoDto> SiteInfos { get; set; }

    }


    /// <summary>
    /// 预定场地详细信息
    /// </summary>
    public class SiteInfoDto
    {
        public long Id { get; set; }

        /// <summary>
        /// 场单价
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 场状态
        /// </summary>
        public ScheduledSiteStateEnum State { get; set; }

        /// <summary>
        /// 订单id
        /// </summary>
        public long? OrderId { get; set; }

        /// <summary>
        /// 预定时间
        /// </summary>
        [SugarColumn(ColumnDescription = "预定时间", IsNullable = true)]
        public DateTime ScheduledTime { get; set; }


        /// <summary>
        /// 开始
        /// </summary>
        public string StartTime { get; set; }

        /// <summary>
        /// 结束
        /// </summary>
        public string EndTime { get; set; }

        /// <summary>
        /// 订单备注备注
        /// </summary>
        public string? OrderRemark { get; set; }

        /// <summary>
        /// 会员ID
        /// </summary>
        public long MemberId { get; set; }


        /// <summary>
        /// 会员名称
        /// </summary>
        public string MemberName { get; set; }

        /// <summary>
        /// 会员电话
        /// </summary>
        public string Phone { get; set; }


    }


    /// <summary>
    /// 预定场地详细信息 inputDto
    /// </summary>
    public class DestinedSiteInputDto
    {
        /// <summary>
        /// 时间
        /// </summary>
        [Required]
        public DateTime ScheduledTime { get; set; }

        /// <summary>
        /// 场地类型Id
        /// </summary>
        [Required]
        public long SiteTypeId { get; set; }
    }

    /// <summary>
    /// 单场详情
    /// </summary>
    public class SingleFieldInfo
    {
        /// <summary>
        /// 开始
        /// </summary>
        public string Begin { get; set; }

        /// <summary>
        /// 结束
        /// </summary>
        public string End { get; set; }

    }







    ///// <summary>
    ///// 场地详情
    ///// </summary>
    //public class SiteDetailsOutputDto
    //{
    //    /// <summary>
    //    /// 场馆ID
    //    /// </summary>       
    //    public long VenuesId { get; set; }

    //    /// <summary>
    //    /// 场地ID
    //    /// </summary>
    //    public long SiteId { get; set; }

    //    /// <summary>
    //    /// 场地名称
    //    /// </summary>       
    //    public string SiteName { get; set; }


    //    /// <summary>
    //    /// 场地时间详情
    //    /// </summary>
    //    public List<TimesForSiteOutputDto> Details { get; set; }

    //}

    ///// <summary>
    ///// 场地时间详情
    ///// </summary>
    //public class TimesForSiteOutputDto
    //{
    //    /// <summary>
    //    /// 开始时间
    //    /// </summary>
    //    public DateTime StartTime { get; set; }

    //    /// <summary>
    //    /// 结束时间
    //    /// </summary>
    //    public DateTime EndTime { get; set; }

    //    /// <summary>
    //    /// 价格
    //    /// </summary>
    //    public Decimal  Price { get; set; }

    //    /// <summary>
    //    /// 是否可预订
    //    /// </summary>
    //    public bool IsOrder { get; set; }
    //}
}
